package com.example.dqdq.lzyim_asm_tvapp;

import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

import com.example.dqdq.lzyim_asm_tvapp.adapter.ExpandListViewAdapter;
import com.example.dqdq.lzyim_asm_tvapp.adapter.StaffListViewAdapter;
import com.example.dqdq.lzyim_asm_tvapp.api.API;
import com.example.dqdq.lzyim_asm_tvapp.bean.Node;
import com.example.dqdq.lzyim_asm_tvapp.bean.Problem;
import com.example.dqdq.lzyim_asm_tvapp.https.HttpManger;
import com.example.dqdq.lzyim_asm_tvapp.utils.ActivityCollector;
import com.umeng.analytics.MobclickAgent;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.xutils.common.Callback;
import org.xutils.x;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import cn.jpush.android.api.JPushInterface;
import cn.jpush.android.api.TagAliasCallback;

public class problemActivity extends BaseActivity {
    private ListView mListView;
     private ExpandListViewAdapter mAdapter;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_problem);

        initView(problemActivity.this);
        ActivityCollector.addActivity(this);

    }
    public void onResume() {
        super.onResume();
        MobclickAgent.onResume(this);
    }
    public void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);
    }
//    private void initView()
//    {
//        mListView = (ListView) findViewById(R.id.list_view);
//
//        try {
//            mAdapter = new StaffListViewAdapter(mListView,this,getProblemList(),1);
//
//            mAdapter.setOnExpandNodeClickListener(new ExpandListViewAdapter.OnExpandNodeClickListener() {
//                @Override
//                public void onClick(Node node, List<Node> visibleNodes, View view, int position) {
//                     if(node.isLeaft()){
//                        for (Node n : visibleNodes){
//                            n.setSelected(false);
//                        }
//                        node.setSelected(true);
//                    }
//                    mAdapter.notifyDataSetChanged();
//                 }
//            });
//            mListView.setAdapter(mAdapter);
//
//        } catch (IllegalAccessException e) {
//            Toast.makeText(this,"实例化适配器失败",Toast.LENGTH_LONG).show();
//        }
//
//    }

    private void initView(final Context context){

        x.http().post(HttpManger.getParams(API.TV_PROBLEM_URL,"",""), new Callback.CommonCallback<String>() {
            @Override
            public void onSuccess(String result) {
                  List<Problem> ProblemList = new ArrayList<Problem>();
                ProblemList.add(new Problem(1,"常见问题",0));

                try {
                     Log.e("test",result);
                    JSONObject obj=new JSONObject(result);
                    JSONArray array=obj.getJSONArray("data");
                     for (int i = 0; i <array.length() ; i++) {
                         ProblemList.add(new Problem(i+2,array.getJSONObject(i).getString("question"),1));
                     }
                    for (int i = 0; i < array.length(); i++) {
                        ProblemList.add(new Problem(i+array.length()+2,array.getJSONObject(i).getString("answer"),i+2));

                    }


                    mListView = (ListView) findViewById(R.id.list_view);

                    try {
                        mAdapter = new StaffListViewAdapter(mListView,context,ProblemList,1);

                        mAdapter.setOnExpandNodeClickListener(new ExpandListViewAdapter.OnExpandNodeClickListener() {
                            @Override
                            public void onClick(Node node, List<Node> visibleNodes, View view, int position) {
                                if(node.isLeaft()){
                                    for (Node n : visibleNodes){
                                        n.setSelected(false);
                                    }
                                    node.setSelected(true);
                                }
                                mAdapter.notifyDataSetChanged();
                            }
                        });
                        mListView.setAdapter(mAdapter);

                    } catch (IllegalAccessException e) {
                     }

                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void onError(Throwable ex, boolean isOnCallback) {
                //  Toast.makeText(x.app(), ex.getMessage(), Toast.LENGTH_LONG).show();
            }

            @Override
            public void onCancelled(Callback.CancelledException cex) {
                //   Toast.makeText(x.app(), "cancelled", Toast.LENGTH_LONG).show();
            }
            @Override
            public void onFinished() {

            }
        });


//
//        ProblemList.add(new Problem(2,"电源失灵了怎么解决?",1));
//        ProblemList.add(new Problem(3,"电视屏幕周围出现一圈圈五颜六色的光，颜色失真?",1));
//        ProblemList.add(new Problem(4,"高清电视,看一段时间后,突然发现图像倾斜,一边高一边低。",1));
//        ProblemList.add(new Problem(5,"打开空调使用时发现不制冷？",1));
//
//        ProblemList.add(new Problem(6,"如果真是是电脑按钮失灵，不是主板本身质量问题的话，处理方法如下：\n" +
//                "1、检查是不是真正按钮问题，可以取下主板上的POWER ON 开关跳线上的开关插头，用金属物品触摸开关跳线两针，如能正常启动，说明确定是电脑电源按钮损坏。\n" +
//                "2、最简单的方法是，利用RESET开关跳线来替换POWER开关跳线，这样以后就用RESET开关来启动电脑。\n" +
//                "3、最贵的方法，自然是换电脑机箱，因为电脑电源按钮一般是匹配不上的。一般机箱一种开关。\n" +
//                "4、最难看的方法，自然是随便用两条电线，连接POWER开关跳线，把开关放到机箱外面，做个外置开关使用就行了。",2));
//        ProblemList.add(new Problem(7,"是显像管磁化了 你先关掉电视机电源开关10分钟 然后再打开 要是能好了 就是你长期用遥控器关机的原因 要是不行 就是消磁电路故障",3));
//        ProblemList.add(new Problem(8,"图像轻微倾斜的原因主要是显像管在工作时受环境地磁效应的影响所致，属正常现象。\nCRT高清电视机基本都有“地磁校正”功能，可适当调整改善（具体以产品说明书介绍内容为准）；普通电视没有地磁校正功能，只能调整电视观看方向来尝试改善。 ",4));
//        ProblemList.add(new Problem(9,"不制冷原因很多，\n" +
//                "可能的原因是压缩机保护装置跳脱的现象。\n" +
//                "压缩机过载保护会跳脱代表系统高压压力过高或过热电流过大。？",5));




     }

    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        ActivityCollector.removeActivity(this);
    }
}
